<?php 
class DBQuery{
	var $servername;
	var $user;
	var $pass;
	var $dbname;
	var $num_record;   //Lấy số bản ghi
	function __construct(){
		$this->servername = 'localhost';
		$this->dbname = 'cicoreweb';
		$this->user = 'root';
		$this->pass = '';
	}
	function __open(){
		if(isset($this->dbname)){
			mysql_connect($this->servername, $this->user, $this->pass);
			mysql_select_db($this->dbname);
            mysql_query("SET NAMES 'utf8'");
			return true;
		}
		else{
			echo mysql_error();
			return false;
		}
	}
	function __close(){
		mysql_close();
	}
	/**
	  *	đây là nơi chứa hàm dành cho các câu lệnh
	  *	query như select - from - where
	  *	đầu tiên chỉ cần truyền trực tiếp câu lệnh sql vào hàm, chưa cần
	  *	build câu lệnh sql
	  **/
	
    
    //Trả kết quả về mảng
	function query($sql){
		
		$open = $this->__open();
		if($open){
			$re = mysql_query($sql);
			if($re){
				$nr = mysql_num_rows($re);
				$this->num_record = $nr;
				$result = array();
				for($i=0; $i<$nr; $i++){
					$result[$i] = mysql_fetch_assoc($re);
				}
				return $result;
			}
			else {
				return false;
				echo mysql_error();
			}
		}
		else echo mysql_error();
		$this->__close();
	}
    
    //Load về 1 kết quả 
	function loadResult($sql){
		$open = $this->__open();
		if($open){
			$re = mysql_query($sql);
			if($re){
				$result = mysql_fetch_row($re);
				return $result[0];
			}
			else {
				return false;
				echo mysql_error();
			}
		}
		else echo mysql_error();
		$this->__close();
	}
    
    //Load về 1 hàng, dữ liệu được trả về là kết quả của 1 bản ghi (record)
	function loadRow($sql){
		$open = $this->__open();
		if($open){
			$re = mysql_query($sql);
			if($re){
				$result = mysql_fetch_assoc($re);
				return $result;
			}
			else {
				return false;
				echo mysql_error();
			}
		}
		else echo mysql_error();
		$this->__close();
	}
    
    //Load về 1 cột 
	// Tham số $column là tên của cột cần lấy
    function loadColumn($sql,$column){
        $array = $this->query($sql);
        $result = array();
        foreach($array as $ele){
            if($ele[$column]){
                $result[] = $ele[$column];    
            }
            else echo 'Không tồn tại trường '.$column;
        }
        return $result;
    }
    function numRecord($sql){
        $this->query($sql);
        return $this->num_record;
    }
    
	/**
	  *	đây là nơi chứa hàm dành cho các câu lệnh
	  *	non_query như insert - delete - update
	  *	đầu tiên chỉ cần truyền trực tiếp câu lệnh sql vào hàm, chưa cần
	  *	build câu lệnh sql
	  **/
	function non_query($sql){
		$open = $this->__open();
		if($open){
			$re = mysql_query($sql);
			if($re) return mysql_affected_rows();
			else{
				return false;
			}
		}
		$this->__close();
	}
}
?>